home *** CD-ROM | disk | FTP | other *** search
- /*
- message.c
- */
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <EGB.H>
- #include <MOS.H>
- #include <FMCfrb.h>
- #include <kkstr2.h>
- #include <Normlib.h>
- #include <okome.h>
-
- extern char work[];
-
- #define MEX1 200
- #define MEY1 140
- #define MEX4 290
- #define MEY4 100
- #define MEX3 (MEX4-1)
- #define MEY3 (MEY4-1)
- #define MEX2 (MEX1+MEX3)
- #define MEY2 (MEY1+MEY3)
-
- /*
- m:確認モード
- 1: 確認
- 2: 実行 取消
- */
-
- int message(char *mess,int m)
- {
- int mb, mx, my, p;
- unsigned int kb, en;
- p = EGB_getWritePage( 0, 0 );
- EGB_writePage( work, 0 );
- MOS_disp(0);
- OKM_gth( MEX1,MEY1, MEX2,MEY2, 1 );
- boxbf(MEX1,MEY1,MEX2,MEY2,8,15);
- boxb(MEX1+2,MEY1+2,MEX2-2,MEY2-2,8);
- symbol(MEX1+20,MEY1+35,mess,16,8);
- for ( mb = 2-m; mb<2; mb++ )
- {
- boxbf(MEX2-130+60*mb,MEY2-29,MEX2-90+mb*60,MEY2-8,8,15);
- }
- if ( m==1 )
- {
- font12(MEX2- 65,MEY2-13,"確 認",8);
- } else {
- font12(MEX2-125,MEY2-13,"実 行",8);
- font12(MEX2- 65,MEY2-13,"取 消",8);
- }
- MOS_disp(1);
- do {
- MOS_rdpos(&mb,&mx,&my);
- do {
- kb = KYB_read(1,&en);
- } while (kb==0xffff && KAN_inpchk()==KAN_MISET);
- if (mb && my>=MEY2-29 && my<=MEY2-8)
- {
- if ( mx>=MEX2-70 && mx<=MEX2-20 )
- {
- m-= 1;
- break;
- }
- if ( mx>=MEX2-130 && mx<=MEX2-80 && m == 2)
- {
- m = 0;
- break;
- }
- }
- /* if (mb && (mx>=MEX1 && mx<=MEX2 && my>=MEY1 && my<=MEY2)==0)
- {
- if (mb == 1)
- {
- m = 0;
- break;
- } else {
- m-= 1;
- break;
- }
- } */
- if ( kb == 0x0D || kb==0x8012 )
- {
- m = 0;
- break;
- }
- if (m == 2 && ( kb == 0x1B || kb == 0x8011 ) )
- {
- m = 1;
- break;
- }
- } while (1);
- MOS_disp(0);
- OKM_gth( MEX1,MEY1, MEX2,MEY2, 0 );
- MOS_disp(1);
- EGB_writePage( work, p );
- mbout(&mb,&mx,&my);
- return (m);
- }
-